package cn.edu.thu.tsquality.core.common.datasource;

import cn.edu.thu.tsquality.core.common.table.Row;
import cn.edu.thu.tsquality.core.common.table.StreamingTable;
import cn.edu.thu.tsquality.core.common.table.Table;

import java.io.IOException;

/**
 * Created by wangyihan  on 2018/4/2 下午5:31. E-mail address is yihanwang22@163.com. Copyright © 2017
 * wangyihan. All Rights Reserved.
 *
 * @author wangyihan
 */
public interface IDataSource {

  Table read() throws IOException;

  StreamingTable createTable() throws IOException;

  void write(Table table) throws IOException;

  Row readRow() throws IOException;

  boolean hasNext();

  void filter(String[] attrs);
}
